package com.shitou.springai1.admin.entity.dto;


import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 用户数据传输对象(DTO)类
 * 用于封装用户相关信息，使用MyBatis-Plus注解进行数据库映射
 */
@Data
@TableName("users")
@AllArgsConstructor
@NoArgsConstructor
public class UserDto {
    /**
     * 用户唯一标识ID，主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 用户开放平台ID
     */
    private String openId;
    /**
     * 用户系统ID
     */
    private String userId;
    /**
     * 用户昵称
     */
    private String nickName;
    /**
     * 学生或教师工号
     */
    private String stuOrTeaId;
    /**
     * 用户密码
     */
    private String userPass;
    /**
     * 用户头像图片URL
     */
    private String imageUrl;
    /**
     * 账户状态
     */
    private Integer accountStatus;
    /**
     * 用户角色
     */
    private String role;
    /**
     * 注册时间
     * 使用MyBatis-Plus自动填充策略，在插入时自动设置为当前时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime registerTime;
    /**
     * 更新时间
     * 使用MyBatis-Plus自动填充策略，在插入或更新时自动设置为当前时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
